Remove `Source::for_path`
authorAlex Crichton <alex@alexcrichton.com>
Tue, 6 Mar 2018 02:24:36 +0000 (18:24 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 15 Mar 2018 14:34:19 +0000 (07:34 -0700)
commit9659f5603276ae883e92b202b6d2954b3354e8da
tree5e8278bb07d3cb6ab692b64839801d484517477a
parent9895340d9f4e29f3899b34a666e1c10d73081493
Remove `Source::for_path`

This commit removes the `Source::for_path` constructor in favor of
`Workspace::load`. This prevents re-parsing manifests multiple times as Cargo
loads up as this can sometimes be an expensive operation. Instead the
`Workspace` now retains a cache of packages that can be updated as it goes
along. Finally, this should mean that we're only parsing path dependencies at
most once rather than multiple times.
src/bin/commands/read_manifest.rs
src/cargo/core/package.rs
src/cargo/core/resolver/encode.rs
src/cargo/core/workspace.rs
src/cargo/ops/registry.rs